This invention is related generally to processing data with computers, and in particular to converting data from one format to another.
Two organizations, such as a company and a supplier, that wish to conduct business with one another electronically can send electronic messages to each other. However, each company may use different message formats. In this case, the messages sent by the company to its supplier will not be understood. Therefore, if the company message is in a format that is not used by the supplier, a mechanism is needed to translate the messages from one format to another. The set of rules for doing such a translation is called a map.
Electronic messages are composed of discrete data elements called fields. A map is used to describe how the fields of one message (the source) are transformed into the fields of another (the target). Traditionally, maps had to be developed manually by experts, such as business analysts, by documenting the field names used in the electronic message, such as an Excel spreadsheet, for example. Traditional software tools can only do mappings in cases where the field names are identical.
The two message types may be so different that relationships between their fields are not deduced by a mapping tool using previous techniques. Therefore, the maps may be incomplete or even incorrect. For example, when traditional software tools try to match identical field names in the source and the target, the software tools produced incorrect associations, and miss many associations. A human operator must intervene in the mapping process to correct flaws in the traditionally generated map. Thus, this prior approach is inadequate because textual matching of field names yields some false matches, and causes many missed associations that have to be mapped by a human. Alternatively, a human expert such as a business analyst must refer to the documentation on each business document and manually map fields in the source and target message. This human expert-based process is extremely slow even for a single map.
Therefore, there are several disadvantages with the previous methods. When a company has one document that needs to map to multiple trading partners, the company needs to perform the manual mapping for each format used by each trading partner. Also, companies usually need to manually map multiple documents to their trading partners formats using traditional methods. Furthermore, trading partners need to map back to the first company using traditional methods. The time and expense of using human experts to perform or intervene in the mapping may be prohibitive, and grows exponentially as the number of trading partners increases, and is also very slow.
A method and apparatus to automatically map between disparate message formats are provided. In one embodiment, the mapping begins by message selecting a target field in a target business object. A concept associated with the target field is identified in a synonym dictionary. A set of synonyms associated with the concept is received. In the source document, fields are identified which contain synonyms that match the synonyms in the target field. For those source fields that match the target field, a match exists and the fields are said to be mapped.